package Model;

import java.util.LinkedList;

public abstract class TestData {
    
        
    public static String[] getNomCategorie(){
        LinkedList<Categorie> listeCat = getListeCategorie();
        
        String[] nomCategorie = new String[listeCat.size()];
        for(int i=0; i < listeCat.size(); i++ ){
            nomCategorie[i] = listeCat.get(i).getNomCategorie();
        }
        
        return nomCategorie;
    }
    
    public static int getNbChambre(Categorie categorie){
        int nbChambre = 0;
        LinkedList<Chambre> listeChambre = getListeChambre();
        for(int i=0; i< listeChambre.size(); i++){
            if(listeChambre.get(i).getCategorie().getNomCategorie().equals(categorie.getNomCategorie())){
                nbChambre ++;
            }
        }
        return nbChambre;
    }
    
    public static Chambre getChambre(int numchambre){
        LinkedList<Chambre> listeChambre = getListeChambre();
        
        Chambre chambre = null;
        for(int i=0; i < listeChambre.size(); i++ ){
            if(listeChambre.get(i).getNumeroChambre() == numchambre){
                chambre = listeChambre.get(i);
            }
        }
        
        return chambre;
    }

    
    public static Categorie getCategorie(String nomCategorie){
        LinkedList<Categorie> listeCat = getListeCategorie();
        
        Categorie categorie = new Categorie();
        for(int i=0; i < listeCat.size(); i++ ){
            if(nomCategorie.equals(listeCat.get(i).getNomCategorie())){
                categorie = listeCat.get(i);
            }
        }
        
        return categorie;
    }

    
     public static LinkedList<Chambre> getListeChambre() {
        LinkedList<Chambre> listeChambre = new LinkedList<>();
        LinkedList<Categorie> listeCat = getListeCategorie();
        
        //categorie 0 = standard
        listeChambre.add(new Chambre(listeCat.get(0), 1));
        listeChambre.add(new Chambre(listeCat.get(0), 2));
        listeChambre.add(new Chambre(listeCat.get(0), 3));
        listeChambre.add(new Chambre(listeCat.get(0), 4));
        listeChambre.add(new Chambre(listeCat.get(0), 5));
        listeChambre.add(new Chambre(listeCat.get(0), 6));
        listeChambre.add(new Chambre(listeCat.get(0), 7));
        listeChambre.add(new Chambre(listeCat.get(0), 8));
        listeChambre.add(new Chambre(listeCat.get(0), 9));
        listeChambre.add(new Chambre(listeCat.get(0), 10));
        listeChambre.add(new Chambre(listeCat.get(0), 11));
        listeChambre.add(new Chambre(listeCat.get(0), 12));
        listeChambre.add(new Chambre(listeCat.get(0), 13));
        listeChambre.add(new Chambre(listeCat.get(0), 14));
        listeChambre.add(new Chambre(listeCat.get(0), 15));
        listeChambre.add(new Chambre(listeCat.get(0), 16));
        listeChambre.add(new Chambre(listeCat.get(0), 17));
        listeChambre.add(new Chambre(listeCat.get(0), 18));
        listeChambre.add(new Chambre(listeCat.get(0), 19));
        listeChambre.add(new Chambre(listeCat.get(0), 20));
        
        //categorie 1 = lit double
        listeChambre.add(new Chambre(listeCat.get(1), 100));
        listeChambre.add(new Chambre(listeCat.get(1), 101));
        listeChambre.add(new Chambre(listeCat.get(1), 102));
        listeChambre.add(new Chambre(listeCat.get(1), 103));
        listeChambre.add(new Chambre(listeCat.get(1), 104));
        
        //categorie 2 = avec toilette
        listeChambre.add(new Chambre(listeCat.get(2), 200));
        listeChambre.add(new Chambre(listeCat.get(2), 201));
        listeChambre.add(new Chambre(listeCat.get(2), 202));
        
        //categorie 3 = VIP
        listeChambre.add(new Chambre(listeCat.get(3), 300));
        
        
        return listeChambre;
    }
     
    public static LinkedList<Categorie> getListeCategorie() {
        LinkedList<Categorie> listeCat = new LinkedList<>();
        listeCat.add(new Categorie("Standard"));
        listeCat.add(new Categorie("Lit double"));
        listeCat.add(new Categorie("avec toilette"));
        listeCat.add(new Categorie("VIP"));
        
        return listeCat;
    }
    
    public static LinkedList<Commis> getListeCommis(){
        LinkedList<Commis> listeCommis = new LinkedList<>();
        
        listeCommis.add(new Commis("admin", "admin"));
        listeCommis.add(new Commis("hugo", "derp"));
            
        return listeCommis;
    }
}
